import _axios, { get } from '@/lin/plugin/axios'

class Product {
  // constructor() {}

  // 产品管理、创建单个产品、列表，查询
  async getProductList(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/pageList',
      data,
    })
  }

  // 产品管理、创建单个产品、审核
  async productToExamine(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/updateStatus',
      data,
    })
  }

  // 产品管理、创建单个产品、批量软删除
  async deleteProduct(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/softDelete',
      data,
    })
  }

  // 产品管理、创建单个产品、新增
  async addProductHandler(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/add',
      data,
    })
  }

  // 产品管理、创建单个产品、修改
  async editProductHandler(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/update',
      data,
    })
  }

  // 产品管理、批量上传
  async productBatchUpload(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/batchImport',
      data,
    })
  }

  // 产品管理、信息导出
  async exportProductFile(type) {
    const res = await get(`v1/product/export/${type}`, {}, { responseType: 'blob' })
    return res
  }

  // 产品管理、产品品类
  async getProductType() {
    const res = await get('v1/product/getCategory')
    return res
  }

  // 产品管理、根据id 获取详情
  async getProductDatils(id) {
    const res = await get(`v1/product/findById/${id}`)
    return res
  }

  // 产品管理、批量打印条形码
  async PrintBarcodeHandler(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/barCode',
      data,
    })
  }

  // 产品管理、作废产品、真删除
  async deleteObsoleteProduct(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/delete',
      data,
    })
  }

  // 获取审核完成的产品
  async getToExamineProduct() {
    const res = await get('v1/product/findAllByAudit')
    return res
  }

  // 产品管理、批量上传zip压缩包
  async uploadPhotoZipProduct(data) {
    return _axios({
      method: 'post',
      url: 'v1/product/uploadImageZip',
      data,
    })
  }
}

export default new Product()
